There are many fields in which measurements of disparity are useful. For two similar data sets, disparity is a measure of the difference in location, within each data set, of a subset of data which appears, either identically or similarly, in both data sets. Location, for purposes of disparity measurement, is based on one or more independent variables by which the data are ordered. For example, consider two images with the pixel values in each image being data ordered by horizontal and vertical location. If a sub-image of an apple appears in both images, but at different locations in each, the disparity associated with the sub-image of the apple is the difference between these locations. If the subimage appears in the second image five pixels to the right of the location of the sub-image in the first image, the disparity is five pixels to the right. Given similar data sets, a disparity map can be constructed which specifies where each region of a first data set appears in a second data set, relative to the location of the region in the first data set.
One field in which disparity measurements are used is stereoscopic image interpretation. In stereoscopic imaging, two or more images of a scene are created. The stereoscopic images represent substantially the same scene at the same time, but they represent the scene from different vantage points. Often, these different views are nearly parallel, and the separation of the vantage points is in a direction substantially perpendicular to the direction of the views. The direction of the separation of the vantage points is referred to as the epipolar direction. Each image in a stereoscopic set of images typically contains representations of many of the same objects as the other image. Although the objects are viewed from slightly different perspectives, the representation of each object is generally similar in both images. Due to the effect of parallax, the position of each object is usually different in each image. Objects of shallow depth (near the vantage points) exhibit more disparity between images than objects of greater depth (farther from the vantage points). This disparity is in the epipolar direction. By measuring the disparity associated with objects in stereoscopic images, the depth of those objects can be determined. By measuring the disparity associated with small regions in a stereoscopic set of images, a depth map for the represented scene can be determined. Three dimensional information is retrieved from the disparity in a set of two dimensional stereoscopic images.
Another application for disparity analysis involves a series of images representing substantially the same scene at distinct points in time. Such a series of images can, for example, constitute a motion picture sequence. When compressing such a series of images it is useful to determine disparity information for the images. The disparity information can be used with a key image to reconstruct the other images of the series, by appropriately moving portions of the key image as indicated by the disparity information.
Disparity information is also useful in determining velocity information for objects represented in a series of time differentiated images. Particle image velocimetry and laser speckle velocimetry utilize disparity information from time differentiated images to determine velocities within a field of view. A related field, laser speckle metrology, uses disparity information from two images of a specimen to determine, among other things, changes in the deformation of the specimen between the times corresponding to the two images.
Other applications of disparity analysis exist in non-image related fields. For example, disparity analysis can be used in audio analysis to determine the temporal disparity of sounds in acoustical signals. Temporal disparity can also be used with acoustical signals in seismic research to determine, through triangulation, the location of seismic events. Disparity analysis also has applications in the field of electronic signal analysis.
There are several methods for determining disparity information from sets of data. Generally, interrogation regions of a predetermined size are selected from a reference data set, and candidate regions in a target data set are compared to the interrogation region. The candidate region which is most similar to the interrogation region is identified as a matching region. The location of the matching region within the target data set, relative to the location of the interrogation region within the reference data set, specifies the disparity for the interrogation region. Conventional correlation techniques are generally used for determining the similarity of a candidate region and an interrogation region.
Using conventional methods, it is often difficult to predetermine the correct size for interrogation regions. Small interrogation regions tend to result in more incorrect matches than larger interrogation regions. Large interrogation regions, however, lack locality in that they determine disparity for a larger subset of data. The use of larger interrogation regions results in lower resolution disparity maps.
What is needed is a system and method for achieving high accuracy in disparity determination without unnecessarily sacrificing resolution.